package 数组.copy2;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
/**
 * @描述: 如何给ArrayList<Integer>对象里面添加字符串？
 * @作者: 宋利军 
 * @Date: 2018年9月16日 下午10:30:26 
 * @Copyright: http://blog.aizhuoyue.net.
 */
public class ArrayListDemo2 {
    public static void main(String[] args) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
        //创建集合对象
        ArrayList<Integer> array = new ArrayList<Integer>();

        //获得array对象的字节码对象，返回的结果是个Class对象
        Class c = array.getClass();

        //参数解释：（方法名，参数类型的class）
        //add(E e) ：因此参数是个泛型E,也就是Object类型
        Method m = c.getMethod("add", Object.class);

        m.invoke(array, "添加的字符串是我");        //调用array的add方法，并传入值
        m.invoke(array, "再添加一个字符串呀");
        System.out.println(array);
    }
}